[...path].ts 995 B

123456789101112131415161718192021222324252627282930
  1. import type { APIEvent } from "@solidjs/start/server"
  2. import { Resource } from "@opencode-ai/console-resource"
  3. import { cookie, docs, localeFromRequest, tag } from "~/lib/language"
  4. async function handler(evt: APIEvent) {
  5. const req = evt.request.clone()
  6. const url = new URL(req.url)
  7. const locale = localeFromRequest(req)
  8. const host = Resource.App.stage === "production" ? "docs.opencode.ai" : "docs.dev.opencode.ai"
  9. const targetUrl = `https://${host}${docs(locale, url.pathname)}${url.search}`
  10. const headers = new Headers(req.headers)
  11. headers.set("accept-language", tag(locale))
  12. const response = await fetch(targetUrl, {
  13. method: req.method,
  14. headers,
  15. body: req.body,
  16. })
  17. const next = new Response(response.body, response)
  18. next.headers.append("set-cookie", cookie(locale))
  19. return next
  20. }
  21. export const GET = handler
  22. export const POST = handler
  23. export const PUT = handler
  24. export const DELETE = handler
  25. export const OPTIONS = handler
  26. export const PATCH = handler